Red-eye is the appearance of an unnatural reddish coloration of the pupils of a person appearing in an image captured by a camera with flash illumination. Red-eye is caused by light from the flash reflecting off blood vessels in the person's retina and returning to the camera.
Several techniques have been proposed to reduce the red-eye effect. A common red-eye reduction solution for cameras with a small lens-to-flash distance is to use one or more pre-exposure flashes before a final flash is used to expose and capture an image. Each pre-exposure flash tends to reduce the size of a person's pupils and, therefore, reduce the likelihood that light from the final flash will reflect from the person's retina and be captured by the camera. In general, pre-exposure flash techniques typically only will reduce, but not eliminate, red-eye.
A large number of image processing techniques have been proposed to detect and correct red-eye in color images. In general, these techniques typically are semi-automatic or automatic. Semi-automatic red-eye detection techniques rely on human input. For example, in some semi-automatic red-eye reduction systems, a user must manually identify to the system the areas of an image containing red-eye before the defects can be corrected. Many automatic red-eye reduction systems rely on a preliminary face detection step before red-eye areas are detected. A common automatic approach involves detecting faces in an image and, subsequently, detecting eyes within each detected face. After the eyes are located, red-eye is identified based on shape, coloration, and brightness of image areas corresponding to the detected eye locations. In general, face-detection-based automatic red-eye reduction techniques are computation and memory intensive. In addition, most of the face detection algorithms are only able to detect faces that are oriented in an upright frontal view; these approaches cannot detect faces that are rotated in-plane or out-of-plane with respect to the image plane.